enum AchillesSubGameData
{
	SGDIDX_FEATURE_SELECT_ACHILLES_ICON = SGDIDX_END_BASE_SUB_GAME_DATA_RESERVED_RANGE,
	SGDIDX_ACHILLES_MASK,
	SGDIDX_FREE_SPINS_AWARDED
};

enum ClassConstants
{
        // Game Modes
		MODE_NORMAL = 0,
		MODE_ACHILLES_FREE_SPIN = 1,
		MODE_TROY_FREE_SPIN = 2,
		NUM_GAME_MODES,

		// Bonus Game
		BONUS_GAME_NONE = 0,
		BONUS_GAME_ACHILLES,

        // Notes
        NOTE_NONE = -1,
		NOTE_ACHILLES_SUBSTITUTION = 0,
		NOTE_ACHILLES_FREE_SPIN = 1,
		NOTE_TROY_FREE_SPIN = 2,

		//Multipliers
		MULTIPLIER_ACHILLES_FREE_SPIN = 3,
		MULTIPLIER_TROY_FREE_SPIN = 2,

		// Probability Table
		PT_NUM_ACHILLES_FREE_SPINS = 0
};

enum SpinResult
{
		EVT_LOSER,
		EVT_SCATTER_NEAR_MISS,
		EVT_ACHILLES_FEATURE_NEAR_MISS,
		EVT_TROY_FEATURE_NEAR_MISS,
		EVT_ONE_ACHILLES,
		EVT_TWO_HELM,
		EVT_TWO_SHIELD,
		EVT_TWO_HORSE,
		EVT_THREE_TROY,
		EVT_TWO_HELEN,
		EVT_THREE_NINE,
		EVT_THREE_TEN,
		EVT_THREE_JACK,
		EVT_THREE_QUEEN,
		EVT_THREE_KING,
		EVT_THREE_ACE,
		EVT_TWO_ACHILLES,
		EVT_FOUR_NINE,
		EVT_FOUR_TEN,
		EVT_THREE_HELM,
		EVT_THREE_SHIELD,
		EVT_FOUR_JACK,
		EVT_FOUR_QUEEN,
		EVT_FOUR_TROY,
		EVT_FOUR_KING,
		EVT_FOUR_ACE,
		EVT_THREE_HORSE,
		EVT_THREE_HELEN,
		EVT_FOUR_HELM,
		EVT_FOUR_SHIELD,
		EVT_FIVE_NINE,
		EVT_FIVE_TEN,
		EVT_FIVE_JACK,
		EVT_FIVE_QUEEN,
		EVT_FIVE_KING,
		EVT_FIVE_ACE,
		EVT_THREE_ACHILLES,
		EVT_FOUR_HORSE,
		EVT_FIVE_TROY,
		EVT_FIVE_HELM,
		EVT_FIVE_SHIELD,
		EVT_FOUR_HELEN,
		EVT_FIVE_HORSE,
		EVT_FOUR_ACHILLES,
		EVT_FIVE_HELEN,
		EVT_FIVE_ACHILLES,
		EVT_TROY_FEATURE,
		EVT_ACHILLES_FEATURE,
		EVT_RANDOM_PROGRESSIVE_WINNER,
		NUM_VALID_SPIN_RESULTS,
		EVT_INVALID,

#ifdef DEBUG_KNOWNSPINS

		EVT_DEBUG_DATA_SET_END,

		EVT_DEBUG_CUSTOM_STOPS,
		EVT_DEBUG_GAME_IDENTIFY = EVT_DEBUG_CUSTOM_STOPS,
		EVT_DEBUG_FREE_MODE_CHANGES,
		EVT_THREE_TROY_SCATTER,
		EVT_FOUR_TROY_SCATTER,
		EVT_FIVE_TROY_SCATTER,
		EVT_THREE_ACHILLES_SCATTER,
		EVT_FOUR_ACHILLES_SCATTER,
		EVT_FIVE_ACHILLES_SCATTER,
		EVT_TROY_TO_ACHILLES,	// during Achilles feature
		EVT_TROY_TO_HELEN_1,	// during Achilles feature
		EVT_TROY_TO_HELEN_2,	// during Achilles feature
		EVT_TROY_TO_HELEN_3,	// during Achilles feature
		EVT_TROY_TO_HELEN_4,	// during Achilles feature
		EVT_TROY_TO_HELEN_5,	// during Achilles feature
		EVT_HORSE_TO_ACHILLES,	// during Troy feature
		EVT_CUSTOM_STOP_1,
		EVT_CUSTOM_STOP_2,
		EVT_CUSTOM_STOP_3,
		EVT_CUSTOM_STOP_4,
		//EVT_DEBUG_SUBSTITUTE_LINE,
		//EVT_DEBUG_SUBSTITUTE_SCATTER,

		EVT_DEBUG_CUSTOM_FUNCTIONS,
		EVT_DEBUG_FUNCTION_REEL_CONFIG = EVT_DEBUG_CUSTOM_FUNCTIONS,
		EVT_DEBUG_FUNCTION_FEATURE_EXIT,
		EVT_DEBUG_FUNCTION_SCATTER_ITERATE,
		EVT_DEBUG_FUNCTION_PAY_LINE_ITERATE,
		EVT_DEBUG_FUNCTION_RANDOM_JACKPOT,
		EVT_DEBUG_FUNCTION_FEATURE_EXIT_WIN,

		EVT_DEBUG_MODIFY_NEXT_SPIN_FUNCTIONS,
		EVT_DEBUG_FUNCTION_RANDOM_JACKPOT_NEXT = EVT_DEBUG_MODIFY_NEXT_SPIN_FUNCTIONS,
		EVT_DEBUG_FUNCTION_SUB_ACHILLES_1,
		EVT_DEBUG_FUNCTION_SUB_ACHILLES_2,
		EVT_DEBUG_FUNCTION_SUB_ACHILLES_3,
		EVT_DEBUG_FUNCTION_SUB_ACHILLES_4,
		EVT_DEBUG_FUNCTION_SUB_ACHILLES_5,
		EVT_DEBUG_FUNCTION_SUB_TROY_1,
		EVT_DEBUG_FUNCTION_SUB_TROY_2,
		EVT_DEBUG_FUNCTION_SUB_TROY_3,
		EVT_DEBUG_FUNCTION_SUB_TROY_4,
		EVT_DEBUG_FUNCTION_SUB_TROY_5,
#endif
};

enum WheelContents
{
		ICON_NINE,
		ICON_TEN,
		ICON_JACK,
		ICON_QUEEN,
		ICON_KING,
		ICON_ACE,
		ICON_HELM,
		ICON_SHIELD,
		ICON_HORSE,
		ICON_HELEN,
		ICON_TROY,
		ICON_ACHILLES,
		NUM_VALID_ICONS,
		ICON_INVALID
};
